Network elements receive and transmit data packets through networks. When data is received in a network element, such data is stored and processed by various memory storage devices and processing units and circuitry, such as Application Specific Integrated Circuits (ASICs). For example, a number of different units/circuitry are typically involved in the processing of the data, wherein the data is transferred among such units/circuitry. Typically, when one unit/circuitry transmits data packets to another unit/circuitry, the receiving unit/circuitry sends an acknowledgement message to the transmitting unit/circuitry, verifying receipt of the data.
In conventional network elements, a unit/circuitry can only send some maximum number of data packets, to a different unit/circuitry, without receiving acknowledgements. Accordingly, when the maximum number of data packets has been sent without receiving acknowledgements, the transmitting unit/circuitry stops transmitting data because it is unclear whether the data packets have arrived at the receiving unit/circuitry. Often, when transmitting units/circuitry reach the maximum number of packets sent without receiving acknowledgements, the network elements do not diagnose or correct the faults that caused the loss of packets. Instead, such network elements may reset the transmitting unit/circuitry, the receiving unit/circuitry and/or the entire line card in order to allow for the resumption of the transmission of data between such units/circuitry. Disadvantageously, although the resetting of these units/circuitry or the line card containing such units/circuitry allow for the resumption of data transmissions, such hard resets may cause data stored within these units/circuitry to be lost.